package com.party.core.model.charge;

import com.party.core.model.BaseModel;

import java.util.Date;

/**
 * 等级与会员中间表
 */
public class PackageMember extends BaseModel {
    private String memberId; // 用户
    private String levelId; // 等级
    private String sysRoleId; // 角色
    private Date startTime; // 开始时间
    private Date endTime; // 结束时间
    private Integer status; // 状态 1 有效 2 失效
    private Integer quantity; // 购买数量

    private String orderId; // 订单id
    private Integer payStatus; // 付款状态（1：待支付，2：支付成功）
    private Float price; // 应付金额
    private Integer smsSource; // 短信来源 1：自己领取 2：自己购买 3：后台分配
    private String packageName; // 套餐名称
    private Integer payWay; //（0：支付宝，1微信支付,3對公转账）
    private Integer auditStatus; // 审核状态 (1：待审核，2：审核成功，3：审核失败 )
    private Integer systemType;//系统类型(1：社群/2：众筹)
    private Float goodsPrice; // 商品价格
    private Float deductionAmount; // 抵扣金额
    private String originalEndTime; // 原到期时间
    private Integer originalResidueDay; // 原剩余多少天

    public static final Integer AUDIT_STATUS_ING = 1;//待审核
    public static final Integer AUDIT_STATUS_SUCCEED = 2;//审核成功
    public static final Integer AUDIT_STATUS_FAILURE = 3;//审核失败

    public String getOriginalEndTime() {
        return originalEndTime;
    }

    public void setOriginalEndTime(String originalEndTime) {
        this.originalEndTime = originalEndTime;
    }

    public Integer getOriginalResidueDay() {
        return originalResidueDay;
    }

    public void setOriginalResidueDay(Integer originalResidueDay) {
        this.originalResidueDay = originalResidueDay;
    }

    public Float getGoodsPrice() {
        return goodsPrice;
    }

    public void setGoodsPrice(Float goodsPrice) {
        this.goodsPrice = goodsPrice;
    }

    public Float getDeductionAmount() {
        return deductionAmount;
    }

    public void setDeductionAmount(Float deductionAmount) {
        this.deductionAmount = deductionAmount;
    }

    public String getPackageName() {
        return packageName;
    }

    public void setPackageName(String packageName) {
        this.packageName = packageName;
    }

    public Integer getPayWay() {
        return payWay;
    }

    public void setPayWay(Integer payWay) {
        this.payWay = payWay;
    }

    public String getOrderId() {
        return orderId;
    }

    public void setOrderId(String orderId) {
        this.orderId = orderId;
    }

    public Integer getPayStatus() {
        return payStatus;
    }

    public void setPayStatus(Integer payStatus) {
        this.payStatus = payStatus;
    }

    public Float getPrice() {
        return price;
    }

    public void setPrice(Float price) {
        this.price = price;
    }

    public Integer getSmsSource() {
        return smsSource;
    }

    public void setSmsSource(Integer smsSource) {
        this.smsSource = smsSource;
    }

    public PackageMember() {
    }

    public PackageMember(String levelId, String memberId) {
        this.memberId = memberId;
        this.levelId = levelId;
    }

    public String getMemberId() {
        return memberId;
    }

    public void setMemberId(String memberId) {
        this.memberId = memberId;
    }

    public String getLevelId() {
        return levelId;
    }

    public void setLevelId(String levelId) {
        this.levelId = levelId;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getSysRoleId() {
        return sysRoleId;
    }

    public void setSysRoleId(String sysRoleId) {
        this.sysRoleId = sysRoleId;
    }

    public Integer getQuantity() {
        return quantity;
    }

    public void setQuantity(Integer quantity) {
        this.quantity = quantity;
    }

    public Integer getAuditStatus() {
        return auditStatus;
    }

    public void setAuditStatus(Integer auditStatus) {
        this.auditStatus = auditStatus;
    }

    public Integer getSystemType() {
        return systemType;
    }

    public void setSystemType(Integer systemType) {
        this.systemType = systemType;
    }

    @Override
    public String toString() {
        return "PackageMember{" +
                "memberId='" + memberId + '\'' +
                ", levelId='" + levelId + '\'' +
                ", sysRoleId='" + sysRoleId + '\'' +
                ", startTime=" + startTime +
                ", endTime=" + endTime +
                ", status=" + status +
                ", quantity=" + quantity +
                ", orderId='" + orderId + '\'' +
                ", payStatus=" + payStatus +
                ", price=" + price +
                ", smsSource=" + smsSource +
                ", packageName='" + packageName + '\'' +
                ", payWay=" + payWay +
                ", auditStatus=" + auditStatus +
                '}';
    }
}
